/*
 * MaximalShift.h
 *
 *  Created on: 04-09-2013
 *      Author: Krzychu
 */

#ifndef MAXIMALSHIFT_H_
#define MAXIMALSHIFT_H_

#include "OptimalMismatch.h"

class MaximalShift: public OptimalMismatch
{
public:
	MaximalShift();
	virtual ~MaximalShift();
	virtual searchResult execute(std::string text, std::string pattern);
	virtual std::string getName();
private:
	void computeMinShift(std::string pattern);
	void orderPattern(std::string pattern, patStruct *pat);
};

#endif /* MAXIMALSHIFT_H_ */
